home *** CD-ROM | disk | FTP | other *** search
Wrap
'* Worktime Workout Demo Setup '************************************************************************** '$INCLUDE 'setupapi.inc' '$INCLUDE 'mscpydis.inc' ''System '$INCLUDE 'msdetect.inc' ''Detects Avalilable Disk Space ''Dialog ID's CONST WELCOME = 100 CONST ASKQUIT = 200 CONST DESTPATH = 300 CONST EXITFAILURE = 400 CONST EXITQUIT = 600 CONST EXITSUCCESS = 700 CONST OPTIONS = 800 CONST APPHELP = 900 CONST APPHELP2 = 1500 CONST APPHELP3 = 1700 CONST CHECK = 2500 CONST TOOBIG = 6300 CONST BADPATH = 6400 ''Bitmap ID CONST LOGO = 1 ''Disk Sizes GLOBAL File1 GLOBAL File2 GLOBAL WantedDiskSize& GLOBAL WantedWINSize& GLOBAL WINSize& ''File Types GLOBAL DEST$ ''Default destination directory. GLOBAL WINDRIVE$ ''Windows Drive Letter. GLOBAL OPTCUR$ ''Option selection from option dialog. GLOBAL CHECKSTATES$ GLOBAL RUNTIME$ GLOBAL AVITOOLS$ GLOBAL MDKTOOLS$ GLOBAL TOOLS$ SrcDir$ = GetSymbolValue("STF_SRCDIR") WinDir$ = GetWindowsDir() WinSysDir$ = GetWindowsSysDir() DECLARE SUB Install DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING INIT: CUIDLL$ = "mscuistf.dll" ''Custom user interface dll HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure MajorVer% = GetWindowsMajorVersion() MinorVer% = GetWindowsMinorVersion() IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software. Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND) END END IF SetBitmap CUIDLL$, LOGO SetTitle "Worktime Workout 1.0" szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF" END IF ReadInfFile szInf$ WINDRIVE$ = MID$(WinDir$, 1, 1) DEST$ = "C:\WWDEMO" WELCOME: sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$) IF sz$ = "CONTINUE" THEN UIPop 1 ELSE GOSUB ASKQUIT GOTO WELCOME END IF GETPATH: SetSymbolValue "EditTextIn", DEST$ SetSymbolValue "EditFocus", "END" GETPATHL1: sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$) DEST$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL1 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO WELCOME ELSE GOSUB ASKQUIT GOTO GETPATH END IF ClearCopyList WantedDiskSize&=1444000 DiskSize&=GetFreeSpaceForDrive(WINDRIVE$) If WantedDiskSize& > DiskSize& then TOOBIG: sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO TOOBIG END IF UIPop 1 IF sz$ = "CONTINUE" THEN ERROR STFQUIT END IF EndIf WantedDiskSize&=1444000 DiskSize&=GetFreeSpaceForDrive(DEST$) If WantedDiskSize& > DiskSize& then WINBIG: sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO WINBIG END IF UIPop 1 IF sz$ = "CONTINUE" THEN ERROR STFQUIT END IF EndIf '' Setting RUNTIME files to be copied AddSectionFilesToCopyList "Mplayer", SrcDir$, WinDir$ AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$ AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$ CopyFilesInCopyList ''Updating WIN.INI and SYSTEM.INI CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "indeo.drv", cmoOverwrite CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg")) Run ("profdisp") Install QUIT: ON ERROR GOTO ERRQUIT IF ERR = 0 THEN dlg% = EXITSUCCESS ELSEIF ERR = STFQUIT THEN dlg% = EXITQUIT ELSE dlg% = EXITFAILURE END IF QUITL1: sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO QUITL1 END IF UIPop 1 END ERRQUIT: i% = DoMsgBox("Setup sources were corrupted, call the included support number", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND) END BADPATH: sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO BADPATH END IF UIPop 1 RETURN ASKQUIT: sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "") IF sz$ = "EXIT" THEN UIPopAll '' ERROR STFQUIT END ELSEIF sz$ = "REACTIVATE" THEN GOTO ASKQUIT ELSE UIPop 1 END IF RETURN '** '** Purpose: '** Builds the copy list and performs all installation operations. '** Arguments: '** none. '** Returns: '** none. '************************************************************************* SUB Install STATIC SrcDir$ = GetSymbolValue("STF_SRCDIR") CreateDir DEST$, cmoNone OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0 WriteToLogFile "" WriteToLogFile " User chose as destination directory: '" + DEST$ + "'" WriteToLogFile " User chose option: '" + OPTCUR$ + "'" WriteToLogFile "" WriteToLogFile "May have had to create the directory: " + DEST$ WriteToLogFile "" AddSectionFilesToCopyList "Workout", SrcDir$, DEST$ CopyFilesInCopyList ini$ = MakePath(DEST$, "DEMO.INI") CreateIniKeyValue "WIN.INI", "Worktime Workout", "Dir", DEST$, cmoNone CreateProgmanGroup "Startup", "", cmoNone ShowProgmanGroup "Startup", 1, cmoNone CreateProgmanItem "Startup", "Worktime Workout Demo", "wwdemo.exe ", ",,,,"+DEST$, cmoOverwrite CreateProgmanGroup "Worktime Workout Demo", "", cmoNone ShowProgmanGroup "Worktime Workout Demo", 1, cmoNone CreateProgmanItem "Worktime Workout Demo", "Worktime Workout Demo", "wwdemo.exe ", ",,,,"+DEST$, cmoOverwrite CreateProgmanItem "Worktime Workout Demo", "ReadMe", "notepad.exe "+MakePath(DEST$,"readme.txt"), ",,,,"+DEST$, cmoOverwrite AddDos5Help "Workout", "A Windows program to remind you to stretch.", cmoNone CloseLogFile END SUB '** '** Purpose: '** Appends a file name to the end of a directory path, '** inserting a backslash character as needed. '** Arguments: '** szDir$ - full directory path (with optional ending "\") '** szFile$ - filename to append to directory '** Returns: '** Resulting fully qualified path name. '************************************************************************* FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING IF szDir$ = "" THEN MakePath = szFile$ ELSEIF szFile$ = "" THEN MakePath = szDir$ ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN MakePath = szDir$ + szFile$ ELSE MakePath = szDir$ + "\" + szFile$ END IF END FUNCTION